parallel processing explained